/**
 * Copyright(c) 2014 Xunton Solutions
 *
 * History:
 *   15-9-21 上午8:55 Created by dwzhang
 */
package com.jade.bss.weixin.api.pay.protocol;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

import com.jade.bss.weixin.api.protocol.xml.Request;

/**
 * 提交退款申请后，通过调用该接口查询退款状态。退款有一定延时，用零钱支付的退款20分钟内到账，
 * 银行卡支付的退款3个工作日后重新查询退款状态。
 *
 * @author <a href="mailto:dwzhang@xunton.com">dwzhang</a> 
 * @version 1.0 15-9-21 上午8:55
 */
@XmlRootElement (name = "xml")
@XmlAccessorType (XmlAccessType.FIELD)
public class RefundQueryRequest
        extends Request
{
    //微信的订单号，优先使用
    @XmlElement (name = "transaction_id")
    private String transactionId;
    //商户系统内部的订单号
    @XmlElement (name = "out_order_no")
    private String outOrderNo;
    //商户侧传给微信的退款单号
    @XmlElement (name = "out_refund_no")
    private String outRefundNo;
    //微信生成的退款单号，在申请退款接口有返回
    @XmlElement (name = "refund_id")
    private String refundId;

    public String getTransactionId()
    {
        return transactionId;
    }

    public void setTransactionId(String transactionId)
    {
        this.transactionId = transactionId;
        putParam("transaction_id", transactionId);
    }

    public String getOutOrderNo()
    {
        return outOrderNo;
    }

    public void setOutOrderNo(String outOrderNo)
    {
        this.outOrderNo = outOrderNo;
        putParam("out_order_no", outOrderNo);
    }

    public String getOutRefundNo()
    {
        return outRefundNo;
    }

    public void setOutRefundNo(String outRefundNo)
    {
        this.outRefundNo = outRefundNo;
        putParam("out_refund_no", outRefundNo);
    }

    public String getRefundId()
    {
        return refundId;
    }

    public void setRefundId(String refundId)
    {
        this.refundId = refundId;
        putParam("refund_id", refundId);
    }
}
